Page({
  data: {
    // 会员信息
    memberInfo: {
      level: 'VIP会员',
      expireDate: '2023-12-31',
      points: 1250
    },
    // 会员套餐
    membershipPackages: [
      {
        type: 'monthly',
        name: '月度会员',
        price: '¥39.9',
        duration: '30天'
      },
      {
        type: 'yearly',
        name: '年度会员',
        price: '¥299',
        duration: '365天'
      },
      {
        type: 'lifetime',
        name: '终身会员',
        price: '¥999',
        duration: '永久'
      }
    ],
    // 会员权益
    memberBenefits: [
      {
        icon: '',
        text: '免费预约专家咨询'
      },
      {
        icon: '',
        text: '专属优惠活动'
      },
      {
        icon: '',
        text: '免费获取精选资料'
      },
      {
        icon: '',
        text: '一对一专属客服'
      }
    ]
  },

  onLoad: function(options) {
    // 页面加载时执行
    console.log('会员页面加载成功');
    // 可以在这里添加获取用户会员信息的逻辑
    this.loadMemberInfo();
  },

  // 加载会员信息
  loadMemberInfo: function() {
    // 模拟从服务器获取会员信息
    // 实际开发中应该调用wx.request
    setTimeout(() => {
      // 假设从服务器获取到的会员信息
      const serverMemberInfo = {
        level: 'VIP会员',
        expireDate: '2023-12-31',
        points: 1250
      };

      this.setData({
        memberInfo: serverMemberInfo
      });
    }, 500);
  },

  // 开通会员按钮点击事件
  openMembership: function(e) {
    // 获取套餐类型
    const type = e.currentTarget.dataset.type;

    // 查找对应的套餐信息
    const packageInfo = this.data.membershipPackages.find(item => item.type === type);

    if (packageInfo) {
      wx.showModal({
        title: '确认开通',
        content: `您将开通${packageInfo.duration}会员服务，价格${packageInfo.price}，确认支付吗？`,
        success: (res) => {
          if (res.confirm) {
            // 这里添加支付逻辑
            this.handlePayment(packageInfo);
          }
        }
      });
    } else {
      wx.showToast({
        title: '未找到对应套餐',
        icon: 'none',
        duration: 2000
      });
    }
  },

  // 处理支付
  handlePayment: function(packageInfo) {
    // 模拟支付过程
    wx.showLoading({
      title: '支付中...',
    });

    // 实际开发中应该调用支付API
    setTimeout(() => {
      wx.hideLoading();
      wx.showToast({
        title: '开通成功',
        icon: 'success',
        duration: 2000
      });

      // 更新会员信息
      this.updateMemberInfo(packageInfo);

      // 2秒后返回上一页
      setTimeout(() => {
        wx.navigateBack();
      }, 2000);
    }, 1500);
  },

  // 更新会员信息
  updateMemberInfo: function(packageInfo) {
    // 这里添加更新会员信息的逻辑
    // 实际开发中应该调用服务器API
    const newMemberInfo = {...this.data.memberInfo};

    // 根据套餐类型更新会员到期时间
    if (packageInfo.type === 'monthly') {
      const expireDate = new Date(this.data.memberInfo.expireDate);
      expireDate.setMonth(expireDate.getMonth() + 1);
      newMemberInfo.expireDate = expireDate.toISOString().split('T')[0];
    } else if (packageInfo.type === 'yearly') {
      const expireDate = new Date(this.data.memberInfo.expireDate);
      expireDate.setFullYear(expireDate.getFullYear() + 1);
      newMemberInfo.expireDate = expireDate.toISOString().split('T')[0];
    } else if (packageInfo.type === 'lifetime') {
      newMemberInfo.expireDate = '永久';
    }

    this.setData({
      memberInfo: newMemberInfo
    });
  }
})